package org.nterlearning.datamodel.catalog.model;

import com.liferay.portal.kernel.bean.AutoEscape;
import com.liferay.portal.model.BaseModel;
import com.liferay.portal.model.CacheModel;
import com.liferay.portal.service.ServiceContext;

import com.liferay.portlet.expando.model.ExpandoBridge;

import java.io.Serializable;

/**
 * The base model interface for the Courses_Components service. Represents a row in the &quot;CATALOG_Courses_Components&quot; database table, with each column mapped to a property of this class.
 *
 * <p>
 * This interface and its corresponding implementation {@link org.nterlearning.datamodel.catalog.model.impl.Courses_ComponentsModelImpl} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link org.nterlearning.datamodel.catalog.model.impl.Courses_ComponentsImpl}.
 * </p>
 *
 * @author Brian Wing Shun Chan
 * @see Courses_Components
 * @see org.nterlearning.datamodel.catalog.model.impl.Courses_ComponentsImpl
 * @see org.nterlearning.datamodel.catalog.model.impl.Courses_ComponentsModelImpl
 * @generated
 */
public interface Courses_ComponentsModel extends BaseModel<Courses_Components> {
    /*
     * NOTE FOR DEVELOPERS:
     *
     * Never modify or reference this interface directly. All methods that expect a courses_ components model instance should use the {@link Courses_Components} interface instead.
     */

    /**
     * Returns the primary key of this courses_ components.
     *
     * @return the primary key of this courses_ components
     */
    public long getPrimaryKey();

    /**
     * Sets the primary key of this courses_ components.
     *
     * @param primaryKey the primary key of this courses_ components
     */
    public void setPrimaryKey(long primaryKey);

    /**
     * Returns the courses components ID of this courses_ components.
     *
     * @return the courses components ID of this courses_ components
     */
    public long getCoursesComponentsId();

    /**
     * Sets the courses components ID of this courses_ components.
     *
     * @param coursesComponentsId the courses components ID of this courses_ components
     */
    public void setCoursesComponentsId(long coursesComponentsId);

    /**
     * Returns the course ID of this courses_ components.
     *
     * @return the course ID of this courses_ components
     */
    public long getCourseId();

    /**
     * Sets the course ID of this courses_ components.
     *
     * @param courseId the course ID of this courses_ components
     */
    public void setCourseId(long courseId);

    /**
     * Returns the course iri of this courses_ components.
     *
     * @return the course iri of this courses_ components
     */
    @AutoEscape
    public String getCourseIri();

    /**
     * Sets the course iri of this courses_ components.
     *
     * @param courseIri the course iri of this courses_ components
     */
    public void setCourseIri(String courseIri);

    /**
     * Returns the component ID of this courses_ components.
     *
     * @return the component ID of this courses_ components
     */
    public long getComponentId();

    /**
     * Sets the component ID of this courses_ components.
     *
     * @param componentId the component ID of this courses_ components
     */
    public void setComponentId(long componentId);

    /**
     * Returns the component iri of this courses_ components.
     *
     * @return the component iri of this courses_ components
     */
    @AutoEscape
    public String getComponentIri();

    /**
     * Sets the component iri of this courses_ components.
     *
     * @param componentIri the component iri of this courses_ components
     */
    public void setComponentIri(String componentIri);

    /**
     * Returns the order weight of this courses_ components.
     *
     * @return the order weight of this courses_ components
     */
    public double getOrderWeight();

    /**
     * Sets the order weight of this courses_ components.
     *
     * @param orderWeight the order weight of this courses_ components
     */
    public void setOrderWeight(double orderWeight);

    /**
     * Returns the section type of this courses_ components.
     *
     * @return the section type of this courses_ components
     */
    @AutoEscape
    public String getSectionType();

    /**
     * Sets the section type of this courses_ components.
     *
     * @param sectionType the section type of this courses_ components
     */
    public void setSectionType(String sectionType);

    /**
     * Returns the component type of this courses_ components.
     *
     * @return the component type of this courses_ components
     */
    @AutoEscape
    public String getComponentType();

    /**
     * Sets the component type of this courses_ components.
     *
     * @param componentType the component type of this courses_ components
     */
    public void setComponentType(String componentType);

    /**
     * Returns the mime type of this courses_ components.
     *
     * @return the mime type of this courses_ components
     */
    @AutoEscape
    public String getMimeType();

    /**
     * Sets the mime type of this courses_ components.
     *
     * @param mimeType the mime type of this courses_ components
     */
    public void setMimeType(String mimeType);

    /**
     * Returns the course payment required of this courses_ components.
     *
     * @return the course payment required of this courses_ components
     */
    public boolean getCoursePaymentRequired();

    /**
     * Returns <code>true</code> if this courses_ components is course payment required.
     *
     * @return <code>true</code> if this courses_ components is course payment required; <code>false</code> otherwise
     */
    public boolean isCoursePaymentRequired();

    /**
     * Sets whether this courses_ components is course payment required.
     *
     * @param coursePaymentRequired the course payment required of this courses_ components
     */
    public void setCoursePaymentRequired(boolean coursePaymentRequired);

    /**
     * Returns the component payment required of this courses_ components.
     *
     * @return the component payment required of this courses_ components
     */
    public boolean getComponentPaymentRequired();

    /**
     * Returns <code>true</code> if this courses_ components is component payment required.
     *
     * @return <code>true</code> if this courses_ components is component payment required; <code>false</code> otherwise
     */
    public boolean isComponentPaymentRequired();

    /**
     * Sets whether this courses_ components is component payment required.
     *
     * @param componentPaymentRequired the component payment required of this courses_ components
     */
    public void setComponentPaymentRequired(boolean componentPaymentRequired);

    public boolean isNew();

    public void setNew(boolean n);

    public boolean isCachedModel();

    public void setCachedModel(boolean cachedModel);

    public boolean isEscapedModel();

    public Serializable getPrimaryKeyObj();

    public void setPrimaryKeyObj(Serializable primaryKeyObj);

    public ExpandoBridge getExpandoBridge();

    public void setExpandoBridgeAttributes(ServiceContext serviceContext);

    public Object clone();

    public int compareTo(Courses_Components courses_Components);

    public int hashCode();

    public CacheModel<Courses_Components> toCacheModel();

    public Courses_Components toEscapedModel();

    public String toString();

    public String toXmlString();
}
